_KPRCB

//0x4900 bytes (sizeof) struct _KPRCB { USHORT MinorVersion; //0x0 USHORT MajorVersion; //0x2 struct _KTHREAD* CurrentThread; //0x4 struct _KTHREAD* NextThread; //0x8 struct _KTHREAD* IdleThread; //0xc UCHAR LegacyNumber; //0x10 UCHAR NestingLevel; //0x11 USHORT BuildType; //0x12 CHAR CpuType; //0x14 CHAR CpuID; //0x15 union { USHORT CpuStep; //0x16 struct { UCHAR CpuStepping; //0x16 UCHAR CpuModel; //0x17 }; }; struct _KPROCESSOR_STATE ProcessorState; //0x18 struct _KNODE* ParentNode; //0x338 CHAR* PriorityState; //0x33c ULONG KernelReserved[14]; //0x340 ULONG HalReserved[16]; //0x378 ULONG CFlushSize; //0x3b8 UCHAR CoresPerPhysicalProcessor; //0x3bc UCHAR LogicalProcessorsPerCore; //0x3bd UCHAR CpuVendor; //0x3be UCHAR PrcbPad0[1]; //0x3bf ULONG MHz; //0x3c0 UCHAR GroupIndex; //0x3c4 UCHAR Group; //0x3c5 UCHAR PrcbPad05[2]; //0x3c6 ULONG GroupSetMember; //0x3c8 ULONG Number; //0x3cc UCHAR ClockOwner; //0x3d0 union { UCHAR PendingTickFlags; //0x3d1 struct { UCHAR PendingTick:1; //0x3d1 UCHAR PendingBackupTick:1; //0x3d1 }; }; UCHAR PrcbPad10[70]; //0x3d2 struct _KSPIN_LOCK_QUEUE LockQueue[17]; //0x418 ULONG InterruptCount; //0x4a0 ULONG KernelTime; //0x4a4 ULONG UserTime; //0x4a8 ULONG DpcTime; //0x4ac ULONG DpcTimeCount; //0x4b0 ULONG InterruptTime; //0x4b4 ULONG AdjustDpcThreshold; //0x4b8 ULONG PageColor; //0x4bc UCHAR DebuggerSavedIRQL; //0x4c0 UCHAR NodeColor; //0x4c1 UCHAR DeepSleep; //0x4c2 UCHAR PrcbPad20[5]; //0x4c3 ULONG NodeShiftedColor; //0x4c8 ULONG SecondaryColorMask; //0x4cc ULONG DpcTimeLimit; //0x4d0 ULONG PrcbPad21[3]; //0x4d4 ULONG CcFastReadNoWait; //0x4e0 ULONG CcFastReadWait; //0x4e4 ULONG CcFastReadNotPossible; //0x4e8 ULONG CcCopyReadNoWait; //0x4ec ULONG CcCopyReadWait; //0x4f0 ULONG CcCopyReadNoWaitMiss; //0x4f4 volatile LONG MmSpinLockOrdering; //0x4f8 volatile LONG IoReadOperationCount; //0x4fc volatile LONG IoWriteOperationCount; //0x500 volatile LONG IoOtherOperationCount; //0x504 union _LARGE_INTEGER IoReadTransferCount; //0x508 union _LARGE_INTEGER IoWriteTransferCount; //0x510 union _LARGE_INTEGER IoOtherTransferCount; //0x518 ULONG CcFastMdlReadNoWait; //0x520 ULONG CcFastMdlReadWait; //0x524 ULONG CcFastMdlReadNotPossible; //0x528 ULONG CcMapDataNoWait; //0x52c ULONG CcMapDataWait; //0x530 ULONG CcPinMappedDataCount; //0x534 ULONG CcPinReadNoWait; //0x538 ULONG CcPinReadWait; //0x53c ULONG CcMdlReadNoWait; //0x540 ULONG CcMdlReadWait; //0x544 ULONG CcLazyWriteHotSpots; //0x548 ULONG CcLazyWriteIos; //0x54c ULONG CcLazyWritePages; //0x550 ULONG CcDataFlushes; //0x554 ULONG CcDataPages; //0x558 ULONG CcLostDelayedWrites; //0x55c ULONG CcFastReadResourceMiss; //0x560 ULONG CcCopyReadWaitMiss; //0x564 ULONG CcFastMdlReadResourceMiss; //0x568 ULONG CcMapDataNoWaitMiss; //0x56c ULONG CcMapDataWaitMiss; //0x570 ULONG CcPinReadNoWaitMiss; //0x574 ULONG CcPinReadWaitMiss; //0x578 ULONG CcMdlReadNoWaitMiss; //0x57c ULONG CcMdlReadWaitMiss; //0x580 ULONG CcReadAheadIos; //0x584 ULONG KeAlignmentFixupCount; //0x588 ULONG KeExceptionDispatchCount; //0x58c ULONG KeSystemCalls; //0x590 ULONG AvailableTime; //0x594 ULONG PrcbPad22[2]; //0x598 struct _PP_LOOKASIDE_LIST PPLookasideList[16]; //0x5a0 struct _GENERAL_LOOKASIDE_POOL PPNxPagedLookasideList[32]; //0x620 struct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32]; //0xf20 struct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32]; //0x1820 volatile LONG PacketBarrier; //0x2120 volatile LONG ReverseStall; //0x2124 VOID* IpiFrame; //0x2128 UCHAR PrcbPad3[52]; //0x212c VOID* volatile CurrentPacket[3]; //0x2160 volatile ULONG TargetSet; //0x216c VOID (* volatileWorkerRoutine)(VOID* arg1, VOID* arg2, VOID* arg3, VOID* arg4); //0x2170 volatile ULONG IpiFrozen; //0x2174 UCHAR PrcbPad4[40]; //0x2178 volatile ULONG RequestSummary; //0x21a0 volatile LONG TargetCount; //0x21a4 ULONGLONG LastNonHrTimerExpiration; //0x21a8 UCHAR PrcbPad50[32]; //0x21b0 ULONG InterruptLastCount; //0x21d0 ULONG InterruptRate; //0x21d4 ULONG DeviceInterrupts; //0x21d8 VOID* IsrDpcStats; //0x21dc struct _KDPC_DATA DpcData[2]; //0x21e0 VOID* DpcStack; //0x2210 LONG MaximumDpcQueueDepth; //0x2214 ULONG DpcRequestRate; //0x2218 ULONG MinimumDpcRate; //0x221c ULONG DpcLastCount; //0x2220 ULONG PrcbLock; //0x2224 struct _KGATE DpcGate; //0x2228 UCHAR IdleState; //0x2238 volatile UCHAR QuantumEnd; //0x2239 volatile UCHAR DpcRoutineActive; //0x223a volatile UCHAR IdleSchedule; //0x223b union { volatile LONG DpcRequestSummary; //0x223c SHORT DpcRequestSlot[2]; //0x223c struct { SHORT NormalDpcState; //0x223c SHORT ThreadDpcState; //0x223e }; struct { ULONG DpcNormalProcessingActive:1; //0x223c ULONG DpcNormalProcessingRequested:1; //0x223c ULONG DpcNormalThreadSignal:1; //0x223c ULONG DpcNormalTimerExpiration:1; //0x223c ULONG DpcNormalDpcPresent:1; //0x223c ULONG DpcNormalLocalInterrupt:1; //0x223c ULONG DpcNormalSpare:10; //0x223c ULONG DpcThreadActive:1; //0x223c ULONG DpcThreadRequested:1; //0x223c ULONG DpcThreadSpare:14; //0x223c }; }; ULONG LastTimerHand; //0x2240 ULONG LastTick; //0x2244 ULONG PeriodicCount; //0x2248 ULONG PeriodicBias; //0x224c ULONG ClockInterrupts; //0x2250 ULONG ReadyScanTick; //0x2254 UCHAR GroupSchedulingOverQuota; //0x2258 UCHAR ThreadDpcEnable; //0x2259 UCHAR PrcbPad41[2]; //0x225a struct _KTIMER_TABLE TimerTable; //0x2260 struct _KDPC CallDpc; //0x3aa0 LONG ClockKeepAlive; //0x3ac0 UCHAR PrcbPad6[4]; //0x3ac4 LONG DpcWatchdogPeriod; //0x3ac8 LONG DpcWatchdogCount; //0x3acc volatile LONG KeSpinLockOrdering; //0x3ad0 ULONG DpcWatchdogProfileCumulativeDpcThreshold; //0x3ad4 ULONG QueueIndex; //0x3ad8 struct _SINGLE_LIST_ENTRY DeferredReadyListHead; //0x3adc ULONG ReadySummary; //0x3ae0 LONG AffinitizedSelectionMask; //0x3ae4 ULONG WaitLock; //0x3ae8 struct _LIST_ENTRY WaitListHead; //0x3aec ULONG ScbOffset; //0x3af4 ULONG ReadyThreadCount; //0x3af8 ULONGLONG StartCycles; //0x3b00 ULONGLONG TaggedCyclesStart; //0x3b08 ULONGLONG TaggedCycles[2]; //0x3b10 ULONGLONG GenerationTarget; //0x3b20 volatile ULONGLONG CycleTime; //0x3b28 ULONGLONG AffinitizedCycles; //0x3b30 ULONGLONG ImportantCycles; //0x3b38 ULONGLONG UnimportantCycles; //0x3b40 ULONGLONG ReadyQueueExpectedRunTime; //0x3b48 volatile ULONG HighCycleTime; //0x3b50 ULONGLONG Cycles[4][2]; //0x3b58 ULONG PrcbPad71[2]; //0x3b98 struct _LIST_ENTRY DispatcherReadyListHead[32]; //0x3ba0 VOID* ChainedInterruptList; //0x3ca0 LONG LookasideIrpFloat; //0x3ca4 struct _RTL_RB_TREE ScbQueue; //0x3ca8 struct _LIST_ENTRY ScbList; //0x3cb0 volatile LONG MmPageFaultCount; //0x3cb8 volatile LONG MmCopyOnWriteCount; //0x3cbc volatile LONG MmTransitionCount; //0x3cc0 volatile LONG MmCacheTransitionCount; //0x3cc4 volatile LONG MmDemandZeroCount; //0x3cc8 volatile LONG MmPageReadCount; //0x3ccc volatile LONG MmPageReadIoCount; //0x3cd0 volatile LONG MmCacheReadCount; //0x3cd4 volatile LONG MmCacheIoCount; //0x3cd8 volatile LONG MmDirtyPagesWriteCount; //0x3cdc volatile LONG MmDirtyWriteIoCount; //0x3ce0 volatile LONG MmMappedPagesWriteCount; //0x3ce4 volatile LONG MmMappedWriteIoCount; //0x3ce8 volatile ULONG CachedCommit; //0x3cec volatile ULONG CachedResidentAvailable; //0x3cf0 VOID* HyperPte; //0x3cf4 UCHAR PrcbPad8[4]; //0x3cf8 UCHAR VendorString[13]; //0x3cfc UCHAR InitialApicId; //0x3d09 UCHAR LogicalProcessorsPerPhysicalProcessor; //0x3d0a UCHAR PrcbPad9[1]; //0x3d0b ULONGLONG FeatureBits; //0x3d10 union _LARGE_INTEGER UpdateSignature; //0x3d18 volatile ULONGLONG IsrTime; //0x3d20 ULONG PrcbPad90[2]; //0x3d28 struct _PROCESSOR_POWER_STATE PowerState; //0x3d30 struct _KDPC ForceIdleDpc; //0x3eb0 ULONG PrcbPad91[8]; //0x3ed0 ULONG DpcWatchdogProfileSingleDpcThreshold; //0x3ef0 struct _KDPC DpcWatchdogDpc; //0x3ef4 struct _KTIMER DpcWatchdogTimer; //0x3f18 union _SLIST_HEADER HypercallPageList; //0x3f40 VOID* HypercallCachedPages; //0x3f48 VOID* VirtualApicAssist; //0x3f4c ULONGLONG* StatisticsPage; //0x3f50 struct _CACHE_DESCRIPTOR Cache[5]; //0x3f54 ULONG CacheCount; //0x3f90 struct _KAFFINITY_EX PackageProcessorSet; //0x3f94 ULONG SharedReadyQueueMask; //0x3fa0 struct _KSHARED_READY_QUEUE* SharedReadyQueue; //0x3fa4 ULONG SharedQueueScanOwner; //0x3fa8 ULONG CoreProcessorSet; //0x3fac ULONG ScanSiblingMask; //0x3fb0 ULONG LLCMask; //0x3fb4 ULONG CacheProcessorMask[5]; //0x3fb8 ULONG ScanSiblingIndex; //0x3fcc VOID* WheaInfo; //0x3fd0 VOID* EtwSupport; //0x3fd4 union _SLIST_HEADER InterruptObjectPool; //0x3fd8 VOID** DpcWatchdogProfile; //0x3fe0 VOID** DpcWatchdogProfileCurrentEmptyCapture; //0x3fe4 ULONG PrcbPad92[1]; //0x3fe8 ULONG PteBitCache; //0x3fec ULONG PteBitOffset; //0x3ff0 ULONG PrcbPad93; //0x3ff4 struct _PROCESSOR_PROFILE_CONTROL_AREA* ProcessorProfileControlArea; //0x3ff8 VOID* ProfileEventIndexAddress; //0x3ffc struct _KDPC TimerExpirationDpc; //0x4000 struct _SYNCH_COUNTERS SynchCounters; //0x4020 struct _FILESYSTEM_DISK_COUNTERS FsCounters; //0x40d8 struct _CONTEXT* Context; //0x40e8 ULONG ContextFlagsInit; //0x40ec struct _XSAVE_AREA* ExtendedState; //0x40f0 struct _KENTROPY_TIMING_STATE EntropyTimingState; //0x40f4 VOID* IsrStack; //0x421c struct _KINTERRUPT* VectorToInterruptObject[208]; //0x4220 struct _SINGLE_LIST_ENTRY AbSelfIoBoostsList; //0x4560 struct _SINGLE_LIST_ENTRY AbPropagateBoostsList; //0x4564 struct _KDPC AbDpc; //0x4568 struct _IOP_IRP_STACK_PROFILER IoIrpStackProfilerCurrent; //0x4588 struct _IOP_IRP_STACK_PROFILER IoIrpStackProfilerPrevious; //0x45dc struct _KTIMER_EXPIRATION_TRACE TimerExpirationTrace[16]; //0x4630 ULONG TimerExpirationTraceCount; //0x4730 VOID* ExSaPageArray; //0x4734 ULONG PrcbPad100[10]; //0x4738 struct _KSHARED_READY_QUEUE LocalSharedReadyQueue; //0x4760 struct _REQUEST_MAILBOX* Mailbox; //0x48a0 UCHAR PrcbPad[60]; //0x48a4 struct _REQUEST_MAILBOX RequestMailbox[1]; //0x48e0 };